%RVERSION = 3.00_labelPixelsClass1label_labellabel _hyperlinkPixels11_customaddtoproject PixelsFoundation Custom class._gridcheckboxPixelsClass hyperlink activedoc optiongroup _checkboxcheckbox1ClassPixels _checkbox!Arial, 0, 9, 5, 15, 12, 13, 3, 0  pageframe hyperlink _hyperlink!Arial, 0, 9, 5, 15, 12, 13, 3, 0 Class1grid_grid _optiongroup optiongroupClassgrid!Arial, 0, 9, 5, 15, 12, 13, 3, 0 2combobox_formset _pageframe pageframePixels _comboboxcombobox1ClassPixels _combobox!Arial, 0, 9, 5, 15, 12, 13, 3, 0 Classformset_formsetaddtoproject addtoproject  _pageframe separator _separatorClass_formsetForm1Pixelsform!Arial, 0, 9, 5, 15, 12, 13, 3, 0 _formaddtoproject Pixels commandbuttonClass1 separatorPixels _separatorshapePixels_commandbutton commandbutton1ClassPixels_commandbutton!Arial, 0, 9, 5, 15, 12, 13, 3, 0  _activedoc activedocformClass!Arial, 0, 9, 5, 15, 12, 13, 3, 0 _editboxPixelsClass1editbox_editbox!Arial, 0, 9, 5, 15, 12, 32, 3, 0 Classeditboxlistbox_listbox11_spinner1_imageformset1_optionbutton2addtoproject  xmladapter1_shape _optiongroupPixels _containerPixelsClass1 container commandgroup _container1addtoproject PixelsClassspinnerPixels_spinnerClass11ClassPixels _projecthook1 projecthook _projecthook projecthooktextboxClass!Arial, 0, 9, 5, 15, 12, 13, 3, 0 _listboxPixelsClass1 _commandgroup commandgroupClassPixels _commandgroup!Arial, 0, 9, 5, 15, 12, 13, 3, 0  optionbuttonshapeClassform container_toolbaraddtoproject PixelsClass11!Arial, 0, 9, 5, 15, 12, 13, 3, 0 1toolbar_timer1linePixelsPixels_shapespinner_lineline1ClassPixels_lineClasstimer_timerClassPixels _activedoctimer!Arial, 0, 9, 5, 15, 12, 13, 3, 0 _textboxPixelsClasstextbox_textboxlistbox!Arial, 0, 9, 5, 15, 12, 13, 3, 0 addtoproject _imageaddtoproject addtoproject imageaddtoproject addtoproject addtoproject addtoproject imageFoundation Toolbar class.Foundation Timer class.Foundation TextBox class.Foundation Spinner class.Foundation Shape class.Foundation Separator class.Foundation ProjectHook class.Foundation PageFrame class.Foundation OptionGroup class.Foundation OptionButton class.Foundation Listbox class.Foundation Line class.addtoproject _toolbartoolbarcontrol_controlcontrol1ClassPixels_controladdtoproject addtoproject addtoproject addtoproject addtoproject _optionbutton2Foundation Form class._formFoundation ActiveDoc class.Foundation CheckBox class.Foundation ComboBox class.Foundation CommandButton class.Foundation CommandGroup class.Foundation Container class.custom_customcustomFoundation Label class.Foundation Image class.Foundation Hyperlink class.Foundation Grid class.Foundation FormSet class.Foundation EditBox class.addtoproject addtoproject addtoproject addtoproject addtoproject addtoproject addtoproject Caption = "Toolbar1" ShowWindow = 1 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Name = "_toolbar" ShowWindow = 1 DoCreate = .T. Caption = "Form1" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Name = "_form" Height = 22 Width = 24 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Name = "_control" Height = 68 Width = 68 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Name = "_image"  Height = 68 Width = 68 Name = "_projecthook" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Caption = "Label1" Height = 16 Width = 40 Name = "_label" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg")  Height = 23 Width = 23 Name = "_hyperlink" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg")  Height = 68 Width = 68 Name = "_activedoc" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") DoCreate = .T. Caption = "Form1" Name = "Form1" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Name = "_formset" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Height = 23 Width = 23 Name = "_timer" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Height = 23 Width = 100 Name = "_textbox" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg")  Height = 24 Width = 100 Name = "_combobox" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Height = 24 Width = 120 Name = "_spinner" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Height = 68 Width = 68 Name = "_shape" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Height = 0 Width = 0 Name = "_separator" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") ErasePage = .T. PageCount = 2 Width = 241 Height = 169 Name = "_pageframe" Page1.Caption = "Page1" Page1.Name = "Page1" Page2.Caption = "Page2" Page2.Name = "Page2" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") AButtonCount = 2 Value = 1 Height = 46 Width = 71 Name = "_optiongroup" Option1.Caption = "Option1" Option1.Value = 1 Option1.Height = 17 Option1.Left = 5 Option1.Top = 5 Option1.Width = 61 Option1.Name = "Option1" Option2.Caption = "Option2" Option2.Height = 17 Option2.Left = 5 Option2.Top = 24 Option2.Width = 61 Option2.Name = "Option2" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg")  optionbuttonFoundation Control class.Foundation Relation class. cursoradapterdataenvironment collection collectionTables _xmladapteraddtoproject  xmladapterFoundation XMLAdapter class. _xmladapter Height = 170 Width = 100 Name = "_listbox" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Height = 68 Width = 68 Name = "_line" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Height = 200 Width = 320 Name = "_grid" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Height = 53 Width = 100 Name = "_editbox" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  Width = 200 Height = 200 Name = "_container" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Height = 22 Width = 24 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") ninstances = 0 Name = "_custom" #Height = 27 Width = 84 Caption = "Command1" Name = "_commandbutton" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. AButtonCount = 2 Value = 1 Height = 66 Width = 94 Name = "_commandgroup" Command1.Top = 5 Command1.Left = 5 Command1.Height = 27 Command1.Width = 84 Command1.Caption = "Command1" Command1.Name = "Command1" Command2.Top = 34 Command2.Left = 5 Command2.Height = 27 Command2.Width = 84 Comm and2.Caption = "Command2" Command2.Name = "Command2" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") Height = 17 Width = 60 Caption = "Check1" Name = "_checkbox" cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ninstances = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg")  _collectionaddtoproject PixelsFoundation Collection class.Class1 collection _collectionicversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  Height = 23 Width = 23 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") ninstances = 0 Name = "_collection"  collection_cursor2addtoproject PixelsFoundation Cursor class.Class1cursor_cursor2cursor _xmlfieldaddtoproject 1PixelsPixels _relation2addtoproject PixelsFoundation XMLField class.Classxmlfield _xmlfieldxmlfield _xmltableaddtoproject PixelsClass _base.vcx_formrelation _relation22xmltablePixelsClass12_dataenvironment2addtoproject Pixels!Foundation DataEnvironment class.Class1Fields_cursoradapteraddtoproject Foundation CursorAdapter class.Class1 cursoradapter_cursoradapterxmltabledataenvironment_dataenvironment2relation _xmladapterClassFoundation XMLTable class. _xmltable?Top = 23 Left = 23 Height = 23 Width = 23 Name = "Fields"  _xmltable collection collectionicversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. Height = 56 Width = 56 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") ninstances = 0 Name = "_xmltable" %Width = 24 Height = 22 DataSource = .NULL. cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") ninstances = 0 Name = "_dataenvironment2" Height = 23 Width = 23 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") ninstances = 0 Name = "_cursor2"  Height = 56 Width = 56 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") ninstances = 0 Name = "_xmladapter" ?Top = 23 Left = 23 Height = 23 Width = 23 Name = "Tables" icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. Height = 23 Width = 23 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") ninstances = 0 Name = "_xmlfield"  Height = 22 Width = 23 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") ninstances = 0 Name = "_cursoradapter"  Height = 23 Width = 23 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") ninstances = 0 Name = "_relation2" icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVALD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFS% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/DestroyPInitErrorK1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qA3AqA3qAAA#qAAQA2 /)In"2>9H<&]N>RH,_KTfNlQ a rX| {_ R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVALD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFS% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/DestroyPInitErrorK1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qA3AqA3qAAA#qAAQA2 /)In"2>9H<&]N>RH,_KTfNlQ a rX| {_ R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R ) icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. "Caption = "Option1" Height = 17 Width = 61 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") ninstances = 0 Name = "_optionbutton2"    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R ) icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property. icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC _page2addtoproject PixelsFoundation OptionButton class.Class1page_page2icversion Version property. builder Bulder property. builderx BuilderX property. lautobuilder Specifies if custom FFC builder is automatically launched when instance is added to a container in design mode, even if the control pallette Builder Lock button is off. nobjectrefcount Returns the number of items in the object reference array property aObjectRefs. ohost Object reference to host object (generally THISFORM), which is automatically set on Init if lSetHost is .T. lautosetobjectrefs Specifiies if the SetObjectRefs method is automatically called from the Init method. vresult Variant result property for internal usage when calling programs in PRGs and a return file is required. lrelease Indicates the object's Release method has been executed and the object is in the process of being released from memory. csetobjrefprogram Program to be called when when setting an object references via the SetObjectRef method. lignoreerrors Specifies if the default FFC error handler is executed when an error occurs. lsethost Specifies if the SetHost method is automatically called from the Init method to set the oHost property to THISFORM. ninstances Number of instances. ^aobjectrefs[1,3] Array of object references properties. *release Releases object from memory. *setobjectref Set object reference to specific property. *setobjectrefs Place holder method for listing SetObjectRef method calls. *releaseobjrefs Releases all object references of aObjectRefs array. *nobjectrefcount_access Access method for nObjectRefCount property. *nobjectrefcount_assign Assign method for nObjectRefCount property. *sethost Set oHost property to form reference object. *newinstance Returns new instance of object. *addtoproject Dummy code for adding files to project. *ninstances_access Access method for nInstances property. *ninstances_assign Assign method for nInstances property.    0% v U%"B-TaTC@T 3%C form formset toolbar <U LCBASECLASSTHISLRELEASE BASECLASSOHOSTRELEASEOBJREFSwTa)TTa BUTCNAMETVCLASSTVCLASSLIBRARYLVRESULTTHISVRESULTCSETOBJREFPROGRAMBUTOOBJECT%'B!(uTC7%CCh Cthis.bO .oObject=this.&lcName %C.<%CoObjectbOC CReleaseh  %%C CoHosth OTthis.&lcName=.NULL. TTULCNAMEOOBJECTLNCOUNTTHISNOBJECTREFCOUNT AOBJECTREFSRELEASEOHOSTZTC!% CC J T BULNOBJECTREFCOUNTTHIS AOBJECTREFS UVNEWVAL.+TCCthisformbO6UTHISOHOSTTHISFORM TC DATASESSIONv.%CtnDataSessionIDbN e G(TC G( BUTNDATASESSIONID ONEWOBJECTLNLASTDATASESSIONIDTHISCLASS CLASSLIBRARYB SetObjRf.prgUSETOBJRFPRG$ BCU LAINSTANCESTHISCLASS UVNEWVAL% C BB-TCCCERRORf%C OTCCCERROR()nError PROGRAM()cMethodLINENO()nLine&lcOnError BbTCEC C  C Error: CCZC Method: CC@TCE'%C ... 0TC Line: CCZ%C TC C R C9 x U NERRORCMETHODNLINE LCONERROR LCERRORMSG LCCODELINEMSGTHIS LIGNOREERRORS STARTMODENAMECAPTIONL%  % C EB-UTHISLSETHOSTSETHOSTLAUTOSETOBJECTREFS SETOBJECTREFSD%B-Ta TUTHISLRELEASERELEASEOBJREFSOHOSTrelease, setobjectref setobjectrefsreleaseobjrefsnobjectrefcount_accessnobjectrefcount_assignisethost newinstance addtoprojectninstances_accessninstances_assign/ErrorPInitDestroyC 1qAqA!1qA3q3qB3BAAqAAAAAQAqAa3qRA333qA3B23B3q3qAAA#qAAQA3AqA3qA2 /)In"2>9H<&]N>RH,_KTfNlQ? rhZ o R )  ]PROCEDURE release LOCAL lcBaseClass IF this.lRelease NODEFAULT RETURN .F. ENDIF this.lRelease=.T. lcBaseClass=LOWER(this.BaseClass) this.oHost=.NULL. this.ReleaseObjRefs IF NOT INLIST(lcBaseClass+" ","form ","formset ","toolbar ") RELEASE this ENDIF ENDPROC PROCEDURE setobjectref LPARAMETERS tcName,tvClass,tvClassLibrary LOCAL lvResult this.vResult=.T. DO (this.cSetObjRefProgram) WITH (this),(tcName),(tvClass),(tvClassLibrary) lvResult=this.vResult this.vResult=.T. RETURN lvResult ENDPROC PROCEDURE setobjectrefs LPARAMETERS toObject RETURN ENDPROC PROCEDURE releaseobjrefs LOCAL lcName,oObject,lnCount IF this.nObjectRefCount=0 RETURN ENDIF FOR lnCount = this.nObjectRefCount TO 1 STEP -1 lcName=this.aObjectRefs[lnCount,1] IF EMPTY(lcName) OR NOT PEMSTATUS(this,lcName,5) OR TYPE("this."+lcName)#"O" LOOP ENDIF oObject=this.&lcName IF ISNULL(oObject) LOOP ENDIF IF TYPE("oObject")=="O" AND NOT ISNULL(oObject) AND PEMSTATUS(oObject,"Release",5) oObject.Release ENDIF IF NOT ISNULL(oObject) AND PEMSTATUS(oObject,"oHost",5) oObject.oHost=.NULL. ENDIF this.&lcName=.NULL. oObject=.NULL. ENDFOR DIMENSION this.aObjectRefs[1,3] this.aObjectRefs="" ENDPROC PROCEDURE nobjectrefcount_access LOCAL lnObjectRefCount lnObjectRefCount=ALEN(this.aObjectRefs,1) IF lnObjectRefCount=1 AND EMPTY(this.aObjectRefs[1]) lnObjectRefCount=0 ENDIF RETURN lnObjectRefCount ENDPROC PROCEDURE nobjectrefcount_assign LPARAMETERS m.vNewVal ERROR 1743 ENDPROC PROCEDURE sethost this.oHost=IIF(TYPE("thisform")=="O",thisform,.NULL.) ENDPROC PROCEDURE newinstance LPARAMETERS tnDataSessionID LOCAL oNewObject,lnLastDataSessionID lnLastDataSessionID=SET("DATASESSION") IF TYPE("tnDataSessionID")=="N" AND tnDataSessionID>=1 SET DATASESSION TO tnDataSessionID ENDIF oNewObject=NEWOBJECT(this.Class,this.ClassLibrary) SET DATASESSION TO (lnLastDataSessionID) RETURN oNewObject ENDPROC PROCEDURE addtoproject *-- Dummy code for adding files to project. RETURN DO SetObjRf.prg ENDPROC PROCEDURE ninstances_access LOCAL laInstances[1] RETURN AINSTANCE(laInstances,this.Class) ENDPROC PROCEDURE ninstances_assign LPARAMETERS vNewVal ERROR 1743 ENDPROC PROCEDURE Error LPARAMETERS nError, cMethod, nLine LOCAL lcOnError,lcErrorMsg,lcCodeLineMsg IF this.lIgnoreErrors OR _vfp.StartMode>0 RETURN .F. ENDIF lcOnError=UPPER(ALLTRIM(ON("ERROR"))) IF NOT EMPTY(lcOnError) lcOnError=STRTRAN(STRTRAN(STRTRAN(lcOnError,"ERROR()","nError"), ; "PROGRAM()","cMethod"),"LINENO()","nLine") &lcOnError RETURN ENDIF lcErrorMsg=MESSAGE()+CHR(13)+CHR(13)+this.Name+CHR(13)+ ; "Error: "+ALLTRIM(STR(nError))+CHR(13)+ ; "Method: "+LOWER(ALLTRIM(cMethod)) lcCodeLineMsg=MESSAGE(1) IF BETWEEN(nLine,1,100000) AND NOT lcCodeLineMsg="..." lcErrorMsg=lcErrorMsg+CHR(13)+"Line: "+ALLTRIM(STR(nLine)) IF NOT EMPTY(lcCodeLineMsg) lcErrorMsg=lcErrorMsg+CHR(13)+CHR(13)+lcCodeLineMsg ENDIF ENDIF WAIT CLEAR MESSAGEBOX(lcErrorMsg,16,_screen.Caption) ERROR nError ENDPROC PROCEDURE Init IF this.lSetHost this.SetHost ENDIF IF this.lAutoSetObjectRefs AND NOT this.SetObjectRefs(this) RETURN .F. ENDIF ENDPROC PROCEDURE Destroy IF this.lRelease RETURN .F. ENDIF this.lRelease=.T. this.ReleaseObjRefs this.oHost=.NULL. ENDPROC Caption = "Page1" Height = 16 Width = 60 cversion = builder = builderx = (HOME()+"Wizards\BuilderD,BuilderDForm") nobjectrefcount = 0 ohost = .NULL. vresult = .T. csetobjrefprogram = (IIF(VERSION(2)=0,"",HOME()+"FFC\")+"SetObjRf.prg") ninstances = 0 Name = "_page2" pageFoundation Page class.